---
title: SQL
sidebar_position: 0
---


## 字符编码

计算机底层数据存储的都是 0 和 1 ，那么对于计算机而言，为了能有效的传递信息，必须有一个规则来确定，计算机底层这些 0 和 1 组成的集合，让不同国家的人能够看懂是什么意思。

计算机中常见的字符编码如下：
* ASCⅡ： 美国信息互换标准代码
* GB2312：信息交换汉字编码字符集
* GBK: GB2312 的扩展
* Unicode：国际标准码表
* ISO-8859-1：拉丁码表
* <RedSpan>UTF-8：是 Unicode 的一种转换方式，也是最常用的编码方式。</RedSpan>


## SQL 语言按功能划分
* DDL(Data Definition Language),也就是数据定义语言，可以用来定义（创建、删除、修改）数据库对象，包括数据库、表与列。
* DML(Data Manipulation Language),数据操作语言，用来操作和数据库相关的记录，比如增、删、改数据表中的记录。
* DCL(Data Control Language)，数据控制语言，用来定义访问权限和安全级别。
* DQL(Data Query Language),数据查询语言

SQL 语言定义了我们的需求，而不同的 DBMS（数据库管理系统）则会按照指定的 SQL 帮我们提取需要的内容。


## SQL 规范
* 表名、表别名、字段名、字段别名等都小写
* SQL 保留字、函数名、绑定变量等都大写。

```sql
SELECT name, hp_max FROM heros WHERE role_main = '战士'
```

SELECT、FROM、WHERE 这些常用的 SQL 保留字都采用了大写，而 name、hp_max、role_main 这些字段名，表名都采用了小写。此外在数据表的字段名推荐采用下划线命名，比如 role_main 这种。

## DB、DBS、DBMS
DBMS 的英文全称是 DataBase Management System，数据库管理系统，实际上它可以对多个数据库进行管理，所以你可以理解为 DBMS = 多个数据库（DB） + 管理程序。

DB 的英文是 DataBase，也就是数据库。数据库是存储数据的集合，你可以把它理解为多个数据表。

DBS 的英文是 DataBase System，数据库系统。它是更大的概念，包括了数据库、数据库管理系统以及数据库管理人员 DBA。
